home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / keyb / dce.zip / DCESTART.SRC < prev    next >
Text File  |  1989-02-06  |  4KB  |  154 lines

  1.  
  2. '              *****    DCE    **    (C)1988-89, by GNA.    *****
  3.  
  4. '═════════════════════════════════════════════════════════════════════════════
  5.  
  6. ' *** what kind of display adapter ? ***
  7.  
  8.    DEF SEG=&H40
  9.    IF (PEEK(&H10) AND &H30)=&H00 THEN
  10.       DEF SEG
  11.       PLAY MusiErr$
  12.       CALL CADRE(10,24,16,57,0,7,0)
  13.       LOCATE 12,27:COLOR 12,0:PRINT "The display adaptor  found"
  14.       LOCATE 14,26:COLOR 12,0
  15.       PRINT "is not compatible with"+SPACE$(2)+Logiciel$+"!"
  16.       LOCATE 23,1:COLOR 7,0:END
  17.    END IF
  18.  
  19. '═════════════════════════════════════════════════════════════════════════════
  20.  
  21. ' *** find the screen area address ***
  22.  
  23.    DEF SEG=0
  24.    SegEcr&=-((PEEK(&H410) AND &H30)<>&H30)*&HB800
  25.    IF SegEcr&=0 THEN SegEcr&=&HB000
  26.    DEF SEG
  27.  
  28. '═════════════════════════════════════════════════════════════════════════════
  29.  
  30. ' *** vérifying DOS version (Ver >= 2.11) ***
  31.  
  32.    REG %AX,&H3000
  33.    CALL INTERRUPT &H21
  34.    DosVers=(REG(%AX) AND &HFF)+(REG(%AX) AND &HFF00)/25600!
  35.    IF DosVers<2.11 THEN
  36.       PLAY MusiErr$
  37.       CALL CADRE(10,24,16,57,0,7,0)
  38.       LOCATE 13,24:COLOR 12,0
  39.       PRINT Logiciel$+" needs MS-DOS"+CHR$(32)+CHR$(242)+CHR$(32)+"V2.11"
  40.       LOCATE 23,1:COLOR 7,0:END
  41.    END IF
  42.  
  43. '═════════════════════════════════════════════════════════════════════════════
  44.  
  45. ' *** memory size : >= 384 Ko ***
  46.  
  47.    CALL INTERRUPT &H12
  48.    IF REG(%AX)<384 THEN
  49.       PLAY MusiErr$
  50.       CALL CADRE(10,24,16,57,0,7,0)
  51.       LOCATE 13,30:COLOR 12,0
  52.       PRINT Logiciel$+CHR$(32)+"needs 384Ko memory"
  53.       LOCATE 23,1:COLOR 7,0:END
  54.    END IF
  55.  
  56. '═════════════════════════════════════════════════════════════════════════════
  57.  
  58. ' *** environment  string (COMSPEC) ***
  59.  
  60.    ComSpec$=ENVIRON$("COMSPEC")
  61.  
  62. '═════════════════════════════════════════════════════════════════════════════
  63.  
  64. ' *** reboot message ***
  65.  
  66.    Reboot$(1)="System must be loading"
  67.    Reboot$(2)="from disk drive unit"
  68.    Reboot$(3)="hit [Alt]-[Ctrl]-[Del] ..."
  69.  
  70. '═════════════════════════════════════════════════════════════════════════════
  71.  
  72. ' *** exists any hard disk drive (C:) ***
  73.  
  74.    REG %AX,&H1C00
  75.    REG %DX,&H03
  76.    CALL INTERRUPT &H21
  77.    DEF SEG=REG(%DS)
  78.    IF PEEK(REG(%BX))=&HF8 THEN
  79.       DEF SEG
  80.       DiskUtil$="C:\"
  81.  
  82. ' *** COMSPEC from drive C: ***
  83.  
  84.       IF ComSpec$<>"" THEN
  85.          IF LEFT$(ComSpec$,3)<>DiskUtil$ THEN
  86.             FlgSpec=1
  87.          END IF
  88.       ELSE
  89.          FlgSpec=1
  90.       END IF
  91.       IF FlgSpec=1 THEN
  92.          PLAY MusiErr$
  93.          CALL CADRE(10,24,16,57,0,7,0)
  94.          LOCATE 12,29:COLOR 12,0:PRINT Reboot$(1)
  95.          LOCATE 13,28:COLOR 12,0:PRINT Reboot$(2)+CHR$(32)+LEFT$(DiskUtil$,2)
  96.          LOCATE 14,27:COLOR 12,0:PRINT Reboot$(3)
  97.          LOCATE 23,1:COLOR 7,0:END
  98.       ELSE
  99.  
  100. ' *** sélect hard disk C: (if any) ***
  101.  
  102.          REG %AX,&H0E00
  103.          REG %DX,&H02
  104.          CALL INTERRUPT &H21
  105.       END IF
  106.    ELSE
  107.       DEF SEG
  108.  
  109. ' *** at least two disk drives needed by DCE ***
  110.  
  111.       REG %AX,&H00
  112.       CALL INTERRUPT &H11
  113.       IF (REG(%AX) AND 1)=1 THEN
  114.          IF (REG(%AX) AND &HC0)<&H40 THEN
  115.             FlgDisk=1
  116.          END IF
  117.       ELSE
  118.          FlgDisk=1
  119.       END IF
  120.       IF FlgDisk=1 THEN
  121.          PLAY MusiErr$
  122.          CALL CADRE(10,24,16,57,0,7,0)
  123.          LOCATE 12,31:COLOR 12,0:PRINT Logiciel$+" needs at least"
  124.          LOCATE 14,26:COLOR 12,0:PRINT "two disk drives  to work ..."
  125.          LOCATE 23,1:COLOR 7,0:END
  126.       ELSE
  127.  
  128. ' *** COMSPEC from drive A: ***
  129.  
  130.          DiskUtil$="A:\"
  131.          IF ComSpec$<>"" THEN
  132.             IF LEFT$(ComSpec$,3)<>DiskUtil$ THEN
  133.                FlgSpec=1
  134.             END IF
  135.          ELSE
  136.             FlgSpec=1
  137.          END IF
  138.          IF FlgSpec=1 THEN
  139.             PLAY MusiErr$
  140.             CALL CADRE(10,24,16,57,0,7,0)
  141.             LOCATE 16,24:PRINT Ligne3$;
  142.             LOCATE 12,29:COLOR 12,0:PRINT Reboot$(1)
  143.             LOCATE 13,28:COLOR 12,0:PRINT Reboot$(2)+CHR$(32)+_
  144.                                           LEFT$(DiskUtil$,2)
  145.             LOCATE 14,27:COLOR 12,0:PRINT Reboot$(3)
  146.             LOCATE 23,1:COLOR 7,0:END
  147.          ELSE
  148.             DiskUtil$="B:\"
  149.          END IF
  150.       END IF
  151.    END IF
  152.  
  153. ' --------------------------------- finish ----------------------------------
  154.